#include "defines.h"

interface KEYS
{
	public static int [] SET = {6,7,1,2,3,4,5};  // Default set. 

	public static final byte IDX_LSK			= 0;
	public static final byte IDX_RSK			= 1;
	public static final byte IDX_UP				= 2;
	public static final byte IDX_DOWN			= 3;
	public static final byte IDX_LEFT			= 4;
	public static final byte IDX_RIGHT			= 5;
	public static final byte IDX_FIRE			= 6;
	
	public static final int KEY_EXIT			= -11;
	public static final int KEY_0				= 48;
	public static final int KEY_1				= KEY_0 + 1;
	public static final int KEY_2				= KEY_0 + 2;
	public static final int KEY_3				= KEY_0 + 3;
	public static final int KEY_4				= KEY_0 + 4;
	public static final int KEY_5				= KEY_0 + 5;
	public static final int KEY_6				= KEY_0 + 6;
	public static final int KEY_7				= KEY_0 + 7;
	public static final int KEY_8				= KEY_0 + 8;
	public static final int KEY_9				= KEY_0 + 9;
	
	public static final int KEY_POUND			= 35;
	public static final int KEY_STAR			= 42;

	public static final int F_KEY_LSK			= (1);
	public static final int F_KEY_RSK			= (1<<1);
	public static final int F_KEY_FIRE			= (1<<2);
	public static final int F_KEY_UP			= (1<<3);
	public static final int F_KEY_DOWN			= (1<<4);
	public static final int F_KEY_LEFT			= (1<<5);
	public static final int F_KEY_RIGHT			= (1<<6);
	public static final int F_KEY_EXIT			= (1<<7);
	public static final int F_KEY_0				= (1<<8);
	public static final int F_KEY_1				= (1<<9);
	public static final int F_KEY_2				= (1<<10);
	public static final int F_KEY_3				= (1<<11);
	public static final int F_KEY_4				= (1<<12);
	public static final int F_KEY_5				= (1<<13);
	public static final int F_KEY_6				= (1<<14);
	public static final int F_KEY_7				= (1<<15);
	public static final int F_KEY_8				= (1<<16);
	public static final int F_KEY_9				= (1<<17);
	public static final int F_KEY_POUND			= (1<<18);
	public static final int F_KEY_STAR			= (1<<19);
	#ifndef INVERSE_SOFTKEYS
	public static final int F_KEY_SELECT		= F_KEY_LSK | F_KEY_FIRE | F_KEY_5;
	#else
	public static final int F_KEY_SELECT		= F_KEY_RSK | F_KEY_FIRE | F_KEY_5;
	#endif
	
	public static final int INPUT_THRESHOLD		= 150;
	
	final static char[][] CHARS = {
								{' ','0'},
								{'.',',','!','?','1'},
								{'a','b','c','2'},
								{'d','e','f','3'},
								{'g','h','i','4'},
								{'j','k','l','5'},
								{'m','n','o','6'},
								{'p','q','r','s','7'},
								{'t','u','v','8'},
								{'w','x','y','z','9'}
								  };
	
	final static char[][] NUM_CHARS = {
								{'0'},
								{'1'},
								{'2'},
								{'3'},
								{'4'},
								{'5'},
								{'6'},
								{'7'},
								{'8'},
								{'9'}
								  };
	
}